System and method for maximizing the traffic delivery capacity of packet transport networks via real-time trafffic pattern based optimization of transport capacity allocation

ABSTRACT

A system and method for maximization of the global throughput of packet transport networks via traffic-load-adaptive TDM or WDM channelization. Architecturally the packet transport network is formed of logical packet transport buses that are configured in the network for transport of packets to one of the nodes of the network from the other nodes of the network. Each logical packet transport bus is dynamically channelized to create an adaptive full mesh connectivity among the nodes in the network, such that the capacity of each connection in the mesh is continuously optimized according to real-time inbound traffic patterns at the packet transport network, thereby globally optimizing the throughput of the network. The dynamic channelization of each bus is done under the control of its destination node based on the demand for transport capacity towards it presented by the individual nodes in the meshed packet transport network.

BACKGROUND OF THE INVENTION

[0001] This invention pertains to the field of digital communications systems, particularly to the field of packet transport networking.

[0002] List of Acronyms: CDMA Code Division Multiple Access EOL End-of-line IP Internet Protocol, IETF RFC 791 POS Packet-Over-SDH/SONET; used here as to refer any cell, frame or packet based transmission of data over SDH/SONET PPP Point-to-Point Protocol, IETF RFC 1661 SDH Synchronous Digital Hierarchy, ITU-T Recommendations G.707 and G.783 SONET Synchronous Optical Network TDM Time Division Multiplexing TCP Transmission Control Protocol, IETF REC 793 WDM Wave-length Division Multiplexing

[0003] Communication networks today contain packet-switching nodes and circuit-switching transport networks to interconnect the packet-switching nodes. The basic network topology alternatives to interconnect a group of packet-switching nodes that have a substantial amount of data traffic to interchange with each other are full-mesh, packet-ring and star. From the point of view of transporting a packet from one of the interconnected nodes to another one, i.e. from a source node to a destination node among the group of interconnected nodes, these basic alternatives can be defined as follows:

[0004] Full-mesh (later also mesh) topology is a transport network that provides direct any-to-any connectivity among the interconnected nodes, i.e. a network where there is a dedicated interconnect path between any pair of the nodes with no intermediate packet-switching nodes along such interconnect paths.

[0005] Packet-ring (later also ring) is a network where every one of the interconnected nodes on the ring along the path of a packet between its source and destination node is an intermediate packet-switching node.

[0006] Star is a topology where there is always a single intermediate packet-switching node between any pair of source and destination nodes. Unlike the mesh and ring topologies, the star topology requires adding a new packet-switching node (the hub-switch) to the network in addition to the packet-switching nodes interconnected by the network.

[0007] Since every instance of packet-level processing and/or switching along a route of a data packet across a network (like e.g. the Internet) is a potential point of congestion, each intermediate packet-switch node increases the delay, delay variation and the probability of packet discard. Obviously these measures seriously degrade the performance and efficiency of the network both directly and also indirectly, since the communicating applications using e.g. TCP retransmit packets that were not acknowledgedly delivered on time, therefore a portion of network capacity is being wasted for forwarding packets that will not reach their destination in time and that need therefore to be resent. Thus the network efficiency and performance are inversely proportional to the density of packet-switching nodes (called the hop-count in Internet traffic) along the routes across it. Besides the efficiency and performance, also the network cost and scalability need to be considered. In particular, the total interconnect bandwidth requirement, the total port count, and the total amount of packet processing/switching capacity (called later simply packet processing capacity) need to be compared to determine the most cost-efficient packet transport network architecture.

[0008] To compare these network cost-efficiency measures, consider a number N [an integer] of packet-switching nodes, each having capacity of A [Gb/s] for interchange of packet traffic with the rest of the interconnected nodes. As it is with e.g. Internet traffic, the demand break-down for the interconnect capacity of A at a given node among the rest of the interconnected nodes may vary in time in an unpredictable and arbitrary fashion, from evenly distributed traffic loads to a case where e.g. the full traffic interchange capacity at a given node is demanded by only one of the interconnected nodes. However, fair sharing of capacity is also required whenever the combined demand for the egress capacity of any given node exceeds A. To support traffic of this nature, the basic network cost parameters with the mesh, ring and star topology alternatives are as follows:

[0009] Mesh:

[0010] Interconnect bandwidth requirement R [Gb/s]for N-node full-mesh with guaranteed throughput of A between any pair of nodes in the absence of competing demand for egress capacity at the egress node is: R=N(N−1)A.

[0011] (N−1) ports are needed at each node; the total port count P [an integer] is: P=N(N−1).

[0012] Requirement for two-directional packet processing capacity per node is (N−1)A, i.e. the total full-duplex packet processing capacity C [Gb/s] in the N-node interconnect network is: C=N(N−1)A.

[0013] Ring:

[0014] The lack of destination-node-performed capacity allocation capability inherent to the packet rings requires that there is a dedicated pipe of A reserved for traffic from each node i.e. R=NA.

[0015] Two ports are needed at each node: P=2N.

[0016] Requirement for full-duplex packet processing capacity per node is (2R+A). Clearly, R should be greater than A to reduce blocking. SDH/SONET signal rate hierarchy goes in steps of 4, and Ethernet rate hierarchy in steps of 10. Thus in minimum, the packet processing capacity requirement per node (assuming R=4A) is 2×4A+A=18A i.e. in total C=18NA. In case there was a method to size the ring bandwidth to its theoretical minimum R_(min)=((N−1)/2)A),C=N(N+1)A.

[0017] Star:

[0018] A pipe of A is needed between each of the N nodes and both of the protected hubs i.e. R=NA+NA=2NA.

[0019] A protected hub of N ports is needed in addition to the N nodes: P=2N+2N=4N.

[0020] Total requirement for full-duplex packet processing capacity with a protected hub is: C=NA+2×NA=3NA.

[0021] The above comparison is summarized in the below table: Cost Factor Mesh Ring Star Ideal Interconnect N(N − 1)A (N − 1)A/2 2NA (N − 1)A/2 bandwidth (R) Port count (P) N(N − 1) 2N 4N 2N Packet proc. cap (C) N(N − 1)A N(N + 1)A 3NA NA Max packet processing (N − 1)A (N + 1)A NA A capacity requirement for the interconnect traffic per a single node Aver. number of 1 N/4 1 1 packet-switching instances Cabling (fiber or N(N − 1)L/4 L NL/4 L wavelength miles)*

[0022] From the above table it can be seen that many of the key network cost factors bear O(N²) dependency for the number of interconnected nodes, i.e. present the so called N-square scalability problem where a particular cost-measure grows according to the second power of the number of interconnected nodes. Comparable to the N-square scalability problem are cost factors with O(N×A)-dependency, i.e. cost factors that grow according to the product of the traffic exchange capacity (A) per a node and the number of nodes (N). These major factors limiting cost-efficient scalability of networks, per topology class, are:

[0023] The mesh topology has the N-square scalability problem associated with all cost measures but the density of packet-switching instances.

[0024] The packet ring has an N-square dependency associated with the packet processing capacity requirement.

[0025] The maximum packet processing capacity per a single node-requirement with all the basic topologies grows according to the product of the number of nodes (N) and the traffic exchange capacity per node (A).

[0026] The ‘Ideal’ model is included in the comparison as a reference to show how the traditional alternatives deviate from the theoretical optimum interconnect network, which is implementable according to the innovation description of this patent application. It appears that the implementable theoretical optimum interconnect network minimizes the all the cost measures to less than or equal to those of the traditional topology alternatives, and, in particular, removes all the N-square dependencies and significantly reduces the linear N-dependencies. The deviation of the cost factors of the basic topologies from the Ideal reference is shown in the below table, in which the entries are the cost factor equations of the basic topologies divided by the corresponding Ideal reference equations: Cost Factor Mesh:Ideal Ring:Ideal Star:Ideal Interconnect 2N Round-up to the 4N/(N − 1) bandwidth (R) closest available ring rate Port count (P) (N − 1)/2 1 2 Packet proc. cap (C) N − 1 N + 1 3 Max packet N − 1 N + 1 N processing capacity requirement for the interconnect traffic per a single node Aver. number of 1 N/4 1 packet-switching instances Cabling (fiber or N(N − 1)/4 1 N/4 wavelength miles)*

[0027] Based on the above comparison of traditional topology alternatives, an ideal network providing interconnectivity for a group of packet-switching nodes can be characterized as a system that:

[0028] For best performance, shall provide protected non-blocking fully meshable interconnectivity without introducing intermediate packet-switching instances along the paths of packets across the interconnect network;

[0029] For most efficient interfaces at the interconnected nodes, shall appear to the interconnected nodes as if they were interconnected using a single hub in star topology; and

[0030] To provide protected connectivity with minimum required cabling and transport capacity, shall be able to be implemented using a dual-fiber ring physical topology with the theoretical minimum ring interconnect bandwidth of R=((N−1)/2)A.

[0031] It is obvious that with the traditional topology alternatives, which are based on non-adaptive connections, the ideal inter-connect network model is not feasible. It is however not theoretically impossible to realize an embodiment of the above ideal model such that:

[0032] Is a distributed version of the hub of the star topology so that the interface units of the thus distributed hub-switch are located along the fiber ring that interconnects the packet-switching nodes; and

[0033] Provides fall-mesh interconnectivity over the fiber ring among the aforesaid interface units with real-time optimization of allocation of the block (A) of the ring transport capacity reserved for transport of data towards each one of the interface units.

[0034] Obviously innovative system theory and architecture and novel signaling schemes and algorithms are required in order to realize an embodiment of the ideal interconnect network model. In particular, a novel control scheme is required for performing the network-scope real-time traffic-load-adaptive transport capacity optimization function necessary to provide full-mesh connectivity without creating N-square interconnect bandwidth requirement problem. It in particular is this novel real-time mesh connection control scheme that enables implementing an embodiment of the above characterized ideal interconnect network, and that differentiates the present invention from prior art. With conventional technologies, even connections that carry variable-bandwidth packet traffic have to be provisioned by the network operator, whereas the present innovation provides an automatic algorithm for real-time traffic-load-driven capacity allocation and connection modification process that continuously maximizes the network throughput.

[0035] Since the traditional alternatives are significantly less cost-efficient than the ideal model, especially for higher number of interconnected packet-switching nodes, there clearly is an increasing demand for networks that are close to the above described ideal model. This demand is created especially by the ongoing expansion of the Internet, including rapid growth in the number of Layer 3/2 (IP, MPLS. Ethernet etc) routers/switches that need cost-efficiently scalable high-performance interconnectivity.

BRIEF SUMMARY OF THE INVENTION

[0036] The invention presented herein enables combining the benefits of mesh, ring and star network topologies for packet transport while avoiding the downsides of all of them. Namely, the invention enables combining the throughput and performance of mesh topology with the protection and cabling efficiency of ring, while avoiding the N-square scalability problem associated with meshes and the packet processing inefficiency of rings. The invention enables distributing the hub-switch of star topology as its individual interface units placed at optimal locations along e.g. a fiber ring, and providing direct full-mesh connectivity among the interface units of the thus distributed star-switch with real-time traffic-load based connection capacity optimization, thereby continuously maximizing the global throughput of the network of given resources.

BRIEF DESCRIPTION OF DRAWINGS

[0037] Symbols and Notations Used in the Drawings:

[0038] Lines between nodes, the nodes drawn as boxes, in the drawings represent a logical communication path, and may physically consist of one or more physical wires. When no direction is indicated, a line between nodes or boxes in the network diagrams presents a two-directional communication path.

[0039] While solid arrows indicate regular data traffic flow, gapped arrows indicate flow of system internal control information.

[0040] Bold lines indicate bussed communication paths, i.e. communication paths shareable by traffic flows from either various sources or to various destinations within the reach of the bus.

[0041] Lines crossing in the drawings are decoupled unless there is an oblique square at the junction of the crossing lines, in which case the crossing lines form a joint connection. Arrows ending into or beginning from a bus (a bold line) represent joining or disjoining of a sub-flow of data or control traffic into or from the bus, respectively.

[0042] The cloud shapes such as those above the packet-switches 2 in FIG. 1 present an abstraction of a physical sub-network.

[0043] A continuing array of repeating elements, such as packet-switches 2(a), 2(b) etc. in FIG. 1 is marked with notation [. . . ] placed in between of the drawn elements of the array.

[0044] A dotted line marks a border of a group of drawn elements that form a logical entity, such as the network system 1 in FIG. 2.B and FIG. 2.C and the fiber ring 7 in FIG. 4.

[0045]FIG. 1 illustrates a generic context of the network system 1, the subject matter of the present invention: the objective of network system 1 is to provide optimized interconnectivity among the packet switching network elements 2(a) through 2(z) surrounding it.

[0046]FIG. 2A, 2B and 2C present the views of an instance of the network system 1, outlined in FIG. 1, here interconnecting five packet-switches 2(a) through 2(e), at different abstraction layers of network: FIG. 2A presents the topology at the Layer 3 i.e. at the network layer, which is star topology; FIG. 2B presents the Layer 2 i.e. link layer topology, which is full-mesh; and FIG. 2C the simplest robust Layer 1 i.e. physical layer topology, which is a dual-fiber ring. The applicable protocols could be e.g. IP or MPLS at the network layer, PPP at the link layer, and SDH at the physical layer.

[0047]FIG. 3 illustrates the five logical packet transport 4:1 multiplexer buses, 9(a) through 9(e), providing the non-blocking full-mesh link-layer interconnectivity, as per FIG. 2B, among the interface units 4(a) through 4(e), and thereby also among the packet-switches 2(a) through 2(e), which however see the network system through their unchannelized point-to-point links 3 as a single star switch, as per FIG. 2A.

[0048]FIG. 4 illustrates the five logical buses 9 of FIG. 3, as when physically routed in a dual-fiber ring 7, as per FIG. 2C.

[0049]FIG. 5 illustrates the bus control information flows associated with one of the 4:1 logical packet transport multiplexer buses shown in FIG. 3.

DETAILED DESCRIPTION OF THE INVENTION

[0050] General

[0051] The network system 1 provides non-blocking full-mesh adaptive interconnectivity among the packet-switching network elements 2 it interconnects, so that the global throughput of the interconnect network 1 is continuously maximized.

[0052] Since the preferred concrete embodiment of the network system 1 depends on the detail nature of its application, and due to the flexibility of the invented system regarding its physical partitioning and the network topologies, no single generic concrete embodiment of the present invention can be described without a detailed set of assumptions that defines its application. Thus, for the sake of understandability of this detail description, a relatively simple basic application of interconnect of packet-switches over a fiber ring is assumed herein for which the following description of the preferred embodiment particularly applies to.

[0053] Description of Preferred Embodiment

[0054] The assumed application for the invention for which the herein described preferred embodiment applies to can be briefly described as follows:

[0055] Five packet-switching nodes, 2(a), 2(b), 2(c), 2(d) and 2(e), are to be interconnected by the network system 1, the subject matter of the present invention, as shown in FIG. 1 and FIG. 2. The number of interconnect packet-switches was chosen as five as it is the smallest number of nodes where all the essential characteristics of the network system 1 become fully visible.

[0056] Each of the five packet-switches 2 has a single PPP backbone link 3 through which it exchanges the traffic with the other four packet-switches of FIG. 2.

[0057] In concrete terms, the currently preferred embodiment of the network system 1 for the above application consists of five interface units 4, one interfacing with each of the five packet-switches 2 interconnected by the network system 1. An interface unit interfaces with its associated packet-switch over an intermediate regular non-adaptive PPP link 3. These regular non-adaptive PPP links 3 between the packet-switches 2 and the interface units 4 of the network system 1, which appears to the packet-switches 2 as a single virtual hub-switch, are the only links in the network system 1 that are visible to the network layer, as seen in the network layer view of the network system FIG. 2A. At the link layer, the five interface units 4 of the herein preferred embodiment of the network system 1 connect with each other using adaptive PPP-like links 6 in a fully meshed manner as seen in the link-layer view of the network system FIG. 2B. Physically, in the preferred embodiment of the present invention for this application, the interface units are connected together over a fiber ring 7 so that each interface unit 4 appears as a node in the ring.

[0058] Dataflow through the Network System 1:

[0059] The operation of the network system 1 is herein described from the point of view its primary function, which is transport of packet data between the packet-switches 2 it interconnects. The elementary steps associated with transporting a packet of data from an ingress interface unit to a set of egress interface units (which can be zero, one or more, including all, of the interface units) of the network system comprise:

[0060] 1. As the packet arrives over the PPP link 3 to an interface unit 4 of the network system 1, this ingress interface unit classifies the packet to assign it with a proper set of egress or destination interface units to where the packet is to be forwarded and potentially also a priority class.

[0061] 2. The ingress interface unit writes the packet to a set of egress interface unit-associated buffers, corresponding to the set of egress interface units to which the packet is being forwarded to. Each such buffer may contain logical segments for packets of different priority classes.

[0062] 3. From each such a buffer individually, the ingress interface unit maps the packet, when the priority segment to which it was written to is scheduled to be served, to a connection 6, an adaptive PPP link, that transports data to the egress interface associated with the buffer.

[0063] 4. Each egress interface unit to where the packet is transported multiplexes the packet, among with other packets transported to the interface unit, via their own ingress interface unit-associated connections, to the egress-direction PPP link 3 of that interface unit.

[0064] Traffic Loads and Capacities Associated With the Mesh Connections:

[0065] Assuming the traffic patterns in the application considered herein is alike to those of the current Internet, the momentary traffic loads among the packet-switches 2 interconnected by the network system 1, i.e. the capacity demands associates with each of the mesh connections 6 across the network system 1, vary in time in an unpredictable manner. Still, the current transport network technologies are able to provide only connections with non-adaptive capacity with coarse granularity grid. E.g. the currently most common transport network technology SONET only offers STS-Nc (N=1,3,12,48,192; N non-adaptive) POS links with capacities of roughly N×50 Mpbs i.e. with rigid 0.05/0.15/0.6/2.4/9.6 Gbps granularity. The second most common alternative to POS, Ethernet technology offers even coarser, 0.01/0.1/1/1 Gbps link rate granularity with no channelization capability. It is evident that such non-adaptive transport connections with a coarse granularity grid result in far-from-optimal network cost-efficiency: if even one of the connections gets overloaded, it creates a radiating congestion in the network and degrades the network throughput; on the other hand, over-engineered connection capacities result in poor utilization of the costly network resources. It is however only the present invention that provides a general purpose packet transport network technology with traffic load-adaptive-connections, which result in maximization of the network global throughput.

[0066] The adaptivity of the mesh connections 6 relates to the property of them such that the transport capacity of each such connection in the network system 1 is dynamically adjusted by the destination interface unit of each connection so as to continuously match the traffic load i.e. transport capacity demand associated with each connection, in order to maximize the global data throughput of the network system 1, via real-time optimization of the utilization of the egress capacity i.e. egress PPP link 3 of each interface unit.

[0067] Packet Transport Multiplexer-Bus-Model of the Five-Node Interconnect Network:

[0068] The five-packet-switch-interconnect network system 1 with adaptive intra-system PPP links 6 as shown in FIG. 2B can modeled as five independently operating but functionally alike 4:1 logical packet transport multiplexer-buses 9(a), 9(b), 9(c), 9(d), 9(e), as presented in FIG. 3.

[0069] From FIG. 4 it can be seen that the fiber ring interconnect bandwidth requirement R [Gb/s] between any pair of interface units 4 per ring direction in a network system 1 with N [an integer] interface units, with average capacity of the PPP links 3 of the interface units of A [Gb/s], is given by the equation R=((N−1)/2)A, as ((N−1)/2) number of buses with average bandwidth A capacity will need to be routed on any ring 7 hop from an interface unit 4 to its adjacent one. This is a drastic reduction from what would be required to implement equal mesh connectivity with conventional technologies, as with conventional non-adaptive PPP links with average requirement for available capacity of A between any pair of nodes in the N-node mesh configured over a fiber ring the ring bandwidth requirement would be R=N(N−1)A, as each of the N nodes will need to terminate (N−1) point-to-point links with average bandwidth of A per link. In particular, it is seen in FIG. 4 that in this five-node ring 7 two buses 9 of bandwidth A [Gb/s] each need to be routed on the fiber ring per ring direction, i.e. the transport bandwidth requirement for the dual-fiber ring is R=((5−1)/2)A=2A per direction; while a conventional non-adaptive but otherwise equal full-mesh over a dual-fiber ring would require R=N(N−1)A=5(5−1)A=20A of transport bandwidth per ring direction, i.e. ten times more bandwidth than what is needed when utilizing the present invention.

[0070] Each one of the five multi-source single-destination buses 9 operates independent from each other but according to same operation principles, and therefore we will take one, be it 9(c), of these buses for detail study. Like all the other buses 9(a) through 9(e), the bus 9(c), presented alone in FIG. 5, has an egress interface unit e.g. a destination node 10, and a number of ingress interface units 11 i.e. source nodes 11(a), 11(b), 11(d) and 11(e) that are able to transport data on the bus 9 to its destination node 10. The bus 9 has two branches 12: the source nodes 11(a) and 11(b) are on one branch 12, called herein the West-branch 12(a), while the other source nodes 11(d) and 11(e) are on the another, the East-branch 12(b) of the bus 9. The nodes 11(a) and 11(e) are the end-of-line (EOL) nodes 13 of their branches 12: the node 11(a) is the EOL node 13(a) to the West-branch, and the node 11(e) is the EOL node 13(b) to the East-branch.

[0071] Operation of a Packet Transport Bus:

[0072] The control process of each bus 9 is cyclic i.e. has a process cycle that is of fixed duration under normal operation. The process cycle timing is based on timers at each interface unit 4, also referred to as nodes, depending on the context. The timer counts a specific number of its operating clock periods corresponding to the duration of one data transfer slot on the bus, and thereupon counts a specific number of these bus transfer slots that constitute a complete bus process cycle, and then resets itself to time a subsequent bus process cycle, and so on. The timer is further able to count a certain number of these bus process cycle times to keep a cycle sequence count, which also rolls over as the cycle count has reached the maximum value of the sequence counter.

[0073] By keeping these transfer slot and cycle counts at the nodes regarding a given bus that these nodes access synchronized to each other with at least the transfer slot count level, the nodes are able to access the buses mutually synchronized and thus realize hitless (i.e. data-loss-free) switching of the adaptive connections 6, even across multiple nodes with independent node operating clocks, which however are required to have the same nominal frequency and comply to general characteristics required for telecom equipment clocks. Having a cyclic bus capacity allocation process with constant process cycle also guarantees fixed control process response time that is necessary to properly serve delay and jitter sensitive traffic. The total amount of data transfer slots on each bus is allocated among its source nodes to use for every bus process cycle based on the capacity demand of the source nodes towards the destination node of the bus, which process ensures that the total bus transport capacity, i.e. the egress capacity of the destination interface unit of the bus, is always optimally utilized.

[0074] The transfer slots on a logical bus 9 can be mapped to whatever type of means the bus provides for time, space or frequency division of its data transmission capacity. Depending on the transmission media used to construct the logical bus 9, the bus data transfer slots can be mapped to for example to timeslots of a TDM signal or wavelengths of a WDM signal. In any case, a bus data transfer slot is a fixed amount of data transport capacity, typically measured in data bytes, during the process cycle, and it serves as the unit for bus capacity allocation and facilitates space- and/or timesharing the bus transport capacity among its source nodes.

[0075] In the network system 1 each node is an EOL node for two bus branches (these branches belonging to two different buses) as illustrated in FIG. 4, where a black ball at end of a bus line denotes the location of the EOL node of the bus branch. The EOL source nodes 13 are the synchronization masters for their associated bus branches. Each node 4 thus has a free-running timer that is the synchronization master for the bus branches to which the node is an EOL node. In addition, each node has a slave timer for each bus 9 it accesses, other than of course for those buses for which the node is an EOL node. The nodes keep these slave-timers synchronized to the local cycle phases of their associated buses so that all the nodes along the bus branch access it mutually synchronized.

[0076] The signaling associates with the control of a bus 9 in the network system 1 consist of three basic control information flows as depicted in FIG. 5 and listed below:

[0077] 1) Bus transport capacity demand info 14 from the source nodes to the destination node.

[0078] 2) Capacity allocation info 15 from the destination node to the source nodes.

[0079] 3) Bus branch synchronization 16 from the EOL nodes to the downstream nodes 17 along the branch of the bus.

[0080] These information flows are implemented in the currently preferred embodiment as follows:

[0081] 1) Each node 4 distributes its transport capacity demand info 14, as a number of requested bus transfer slots per a process cycle towards each individual node in the network system 1, for the other nodes in the network system once every process cycle.

[0082] 2) Each node computes an optimized capacity allocation pattern for its egress PPP link 3 i.e. transfer slot allocation for the logical bus 9 to which it is the destination node 10, for the next bus process cycle, among the source nodes 11 of the bus based on the set of most recently received transfer slot requests 14 from the source nodes. The node distributes this capacity allocation info 15 for the next process cycle for the bus to which it is the destination node 10, as source node-specific transfer slot allocation tables, for the other nodes 11 in the network system 1 once every process cycle.

[0083] 3) Each node includes both its capacity demand info 14 and capacity allocation info 15 in the same special and identifiable transfer frames called herein as control frames, and transmits these control frames in specific transfer slots on every process cycle, according to its local free running process cycle timer, to the downstream nodes 17 along the branches 12 of the buses 9 to which the node is an EOL node 13. The specific numbers of the transfer slots reserved for this bus control information exchange are global to the network system 1 and thus known by every node 4, and therefore never allocated for data transport. Since this control frame transfer occurs at a constant phase on every bus process cycle, and since the control frames are identifiable by the downstream nodes along the bus via a special header pattern at them, they also convey the process cycle synchronization 16 from the EOL nodes 13 to the downstream 17 nodes along the branch 12 of the bus 9.

[0084] Each transfer slot allocation table 15 delivered on the bus carries an incrementing and rolling over cycle sequence count attached to it marking the sequence order of the coming bus process cycles on which the transfer slot allocation table is to be applied. Similarly, the bus branch cycle sync info 16 carries a cycle sequent count identifying the process cycle sequence number of the transfer slot allocation table which the EOL node will be applying on the next bus process cycle. These cycle sequence counts allow the nodes along the branch of the bus to apply the (potentially stacked, due to the transmission latency experienced by the control information of the bus) transfer slot allocation tables in mutual synchrony, even if the interface units 4 of the network system 1 were thousands kilometers apart.

[0085] Optimization of the Packet Transport Network Throughput:

[0086] Since the network system 1 is logically constructed of independently operating but functionally alike multi-source single-destination buses 9, maximization of the global throughput of the packet transport network system 1 is achieved by maximizing the utilization of each of its logical packet transport buses 9 individually. The process of maximizing the utilization of a single bus, e.g. 9(c), and thereby its associated the egress PPP link 3(c) consists of two sub-processes:

[0087] Quantifying the demand for bus transport capacity for the next bus process cycle by each individual source node 11 of the bus 9; and

[0088] Allocating the bus transport capacity for the next process cycle based on the set of newest demand info 14 presented individually by the source nodes 11 of the bus 9.

[0089] The demand quantification sub-process is carried out in the herein preferred embodiment of the present invention by the following algorithm: The amount of data bytes in a buffer i.e. the fill of a buffer at the source node 11 is sampled at a constant phase on every process cycle. A number of buffer fill threshold values with associated minimum capacity demand figures are configured by system software to the nodes 4. The inbound data rate to the buffer i.e. the volume of the associated traffic flow (that is to be mapped to its corresponding mesh connection 6) during the most recent process cycle period is computed by adding the amount of data read from the buffer during the that process period i.e. between the two most recent buffer fill sampling moments to the latest fill sample, and by subtracting from that sum the previous buffer fill sample. If the inbound data rate during the previous process cycle period corresponds to a bus transport capacity value greater than the minimum capacity demand figure associated with the highest threshold the most recently sampled buffer fill exceeds, the bus capacity demand of the node is translated from the inbound volume of the associated flow, otherwise it is the minimum capacity demand figure based on the fill of the buffer.

[0090] The bus transport capacity allocation sub-process is based in the currently preferred embodiment on the following algorithm: The bus transfer slots on the new process cycle are allocated in a round-robin fashion, starting at every process cycle from a new source node in a revolving order, one slot at a time per each source node whose requested amount of transfer slots had not been met yet, until either the full cycle-worth of transfer slots have been allocated to the source nodes (11(a), 11(b), 11(d) and 11(e) in case of the bus 9(c)), or until the transfer slot request figures of all the source nodes 11 have been met, after which any unallocated transfer slots are allocated evenly across all the source nodes of the bus.

[0091] Mapping the Invention Principles to SDH/SONET Technology:

[0092] The principles of the present invention described in the foregoing can be implemented with various CDMA, TDM and WDM data transmission technologies. Currently the most common transport network technology is the TDM-based SDH, of which SONET is a subset used in North America. A mapping of the principles of the present invention to SONET technology is provided here in as follows.

[0093] Bus 9 can be implemented as group of STS-1s, this group of M [an integer] STS-1s called herein as an STS-M bus, routed from the EOL nodes 13 of the branches 12 of the bus through the downstream nodes 17 along the branches of the bus to the destination node 10 of the bus. The data transfer slots on the STS-M bus are most naturally STS-1 time slots on it. The adaptive intra-system PPP links 6 are formed as virtual concatenation of the STS-1 slots allocated for a given time for the connection from a source node 11 to the destination node 10 of the bus 9. If X [another integer no greater than M] STS-1 slots are allocated on a given transfer slot-time for the connection 6 from a particular source to the destination node of the bus (out of the M STS-1 slots total on the bus), the source node is said to have an STS-Xv SONET connection to the destination node. Thus each interface unit 4 of the network system 1, assuming it uses SONET as the data transmission media, is able to perform dynamic ingress interface unit-wise STS-Xv channelization of the STS-M bus configured for data transport towards it from the remote interface units of the network system 1. Using the SDH standard notation an STS-Xv equals an S3-Xv path, or VC-3-Xv transmission payload.

[0094] The duration of a data transfer slot, and thereby also the duration of the bus process cycle, in case the network system 1 is based on SONET, are thus naturally integer multiples of SONET frame periods. The SONET frame period is nominally 125 microseconds.

[0095] Thereby the control frames carrying the capacity demand info 14 by a node 4, the capacity allocation info 15 by that node, and the sync 16 of the branches of the bus to which the node is an EOL node, are herein mapped by the EOL nodes of the bus branches to a specific set of STS-1 frame slots, on a specific bus transfer slot, on a specific STS-1 channel of the STS-M buses, with the specific STS-1 frame slots, transfer slots and the STS-1 channel carrying the control frames from the EOL nodes to the downstream nodes on the bus branches known by all these nodes, so that the nodes along a bus branch can access the STS-M bus synchronized to each other, with one SONET frame period of maximum phase error margin.

[0096] Conclusion:

[0097] This detail description of the invention and the attached figures are to be regarded as illustrative rather than restrictive description of the present invention. It is obvious that various changes, substitutions, and alterations can be made in to the above detail described example embodiment without departing from the scope of the present invention, even if all of the advantages identified above are not present. For example, the system may be implemented using various combinations of software and hardware and differently partitioned sub-systems and sub-algorithms. Moreover, the methods, processes, process steps, techniques, systems and modules described and illustrated in the preferred embodiment as discrete or separate may be split in to sub-modules etc, and/or combined or integrated with other methods, processes, techniques, systems or modules without departing from the spirit and scope of the present invention as defined by the claims following. 

What is claimed is:
 1. A network system interconnecting a set of packet-switching network elements, the network system comprising a set of interface units, each interface unit interfacing with one of the packet-switching network elements interconnected by the network system and providing a connection of potentially variable capacity to the other interface units of the network system; each one of the connections capable of transporting data from its source interface unit to its destination interface unit and having an associated capacity and traffic load; the capacity of each connection controlled from its destination interface unit based at least in part on the traffic loads associated with the connections capable of transporting data to that destination interface unit.
 2. The network system of claim 1 wherein the capacity of a connection can be zero for a period of time.
 3. The network system of claim 1 wherein the traffic loads and the capacities associated with the connections between the set of interface units are dynamic variables.
 4. The network system of claim 1 where the capacities of the connections are cyclically optimized with a cycle time that is constant during regular system operation.
 5. The network system of claim 1 wherein a number, up to all, of the interface units are physically located at single physical node or platform, or are attached to the same chassis.
 6. The network system of claim 1 wherein one or more of the interface units are integrated with the packet-switching network elements they interface with.
 7. The network system of claim 1 that can be at least in part a sub-network of a multi-use or public network, with additional network elements, which do not actively participate in the operation of the thus created sub-network, potentially in pass-through mode in between of either the interface units or in between of the packet-switching network elements and the interface units of the sub-network.
 8. The network of claim 1 wherein one or more of the packet-switching network elements is another network system accordant to the definition of claim 1, and wherein these claim 1 networks interface with each other through regular interface units, thus allowing to cluster a number of claim 1 networks together, potentially with a hierarchical architecture where one claim 1 network serves as an interconnect network among a number of claim 1 networks, thereby contributing to network scalability.
 9. A network system comprising a set of logical data transport buses and a set of nodes, wherein: each one of the logical buses has a destination node, a set of source nodes, and a capability to transport data from the source nodes to the destination node of the bus; at each one of the buses some or all of the source nodes of the bus are on one side and the rest of the source nodes on the other side of the destination node along the logical bus, so that the destination node may divide its bus into two branches, with one bus branch on each side of the destination node for transport of data from the source nodes on that side, and wherein the furthermost source node on a bus branch from the destination node of the bus is herein called as end-of-line node of the bus branch; each one of the nodes in the network is a destination node to one of the buses and a source node the other buses; the individual source nodes of a bus present each a demand for a potentially variable amount of bus transport capacity; each individual logical bus has a total data transport capacity that is divisible into a set of logical data transfer slots, a capability of being space- or timeshared among its source nodes for transport of data to its destination node via allocation of logical of the data transfer slots on the bus among the source nodes, and a bus process cycle that is a period of time over which the total data transport capacity of the bus equals a certain number of bus data transfer slots called herein as cycle-worth of bus transfer slots; and each individual logical bus has an at least once every bus process cycle executed control process that is capable of allocating the cycle-worth of bus transfer slots among the source nodes of the bus based at least in part on the demand for bus transport capacity presented by the individual source nodes.
 10. The network system of claim 9 that is based on the SDH/SONET standards and wherein the logical buses are formed of a group of SDH/SONET paths, wherein an SDH/SONET path can be a S11, S12, S2, S3, S4, VT-1.5, VT-2, VT-6, STS-1 or any concatenation of these, these concatenated paths including those of the form of VC-3-Nc or STS-1-Nc, wherein the suffix -Nc refers to N, an integer, number of concatenated VC-3s or STS-1s; an example of such concatenated paths of which the logical bus can be formed is STS-1-48c, a SONET path that is also often called as STS-48c or OC-48c.
 11. The network system of claim 9 wherein a set of transfer slots, even if not a continuous set, allocated to one of the source nodes of the bus form a single logical connection from the source node to the destination node of the bus, and wherein further, in case that the network system is based on SDH/SONET according to claim 9 and thus the logical bus transfer slots are SDH/SONET paths, the single logical connection is formed via virtual concatenation of some of the SDH/SONET paths on the logical bus, and thus, in case of e.g. a bus that is made of VC-3 paths, the single logical connection would be, using the SDH standard notation, a VC-3-Xv path, wherein X, an integer, is the number of VC-3 paths concatenated to form the single logical connection.
 12. The network system of claim 9 wherein the bus control process uses a specialized control information signaling scheme to allow the logical bus to extend over multiple non-mutually-synchronized nodes and sub-networks, and to allow the nodes that access the bus to be in any distance from each other; the signaling scheme comprising a set of sub-processes that include: maintaining a bus process cycle timer at each one of the nodes, the timer of the end-of-line node of a bus branch called herein as master timer for the bus branch; transmitting the bus transport capacity demand information by each source node to the destination node of the bus at least once every process cycle; at the destination node of the bus, receiving the capacity demand information from each of the source nodes of the bus, and, before the end of its process cycle, using the newest set of source node capacity demand information as input, computing the bus transport capacity allocation information that is used to specify for each one of the source nodes on which ones of the set of bus transfer slots on the process cycle for which the table is computed the particular source node is allowed to transmit data on the bus, and that is herein considered to be presented as a set of source node-specific bus transfer slot allocation tables; by the destination node of the bus, before the end of its process cycle, distributing the newest bus transfer slot allocation tables for the next process cycle to the source nodes of the bus, with an identifier, such as e.g. an incrementing sequence number, of the process cycle to which each table applies attached to each table; at the source nodes of the bus, receiving the bus transfer slot allocation tables destined for it and storing the tables in a memory addressed based on the process cycle identifier of each stored table; distributing by the end-of-line node of a bus branch the bus process cycle synchronization periodically to the downstream nodes along the bus, at a specific constant phase within every process cycle, in the form of a specially marked data structure recognized by each node accessing the bus as bus cycle synchronization pattern, which also identifies the multi-cycle process phase at the end-of-line node; receiving and maintaining, by each of the nodes accessing the bus the cycle- and multi-cycle process synchronization of the bus as distributed by the end-of-line node of the bus branch, and thereafter applying the locally stored bus transfer slot allocation tables, each of which was computed for a particular bus process cycle, in cycle-synchronized manner by all the nodes accessing the bus.
 13. The control information signaling scheme of claim 12 wherein each one of the nodes of the network system transmits: the transport capacity allocation information concerning the logical bus for which the particular node is the destination node; the transport capacity demand information towards the other nodes in the network system; and the cycle -and multi-cycle process synchronization information for the bus branches to which the node is an end-of-line node; all within the same logical data structure, called herein as control frame, occupying a specified set of data transfer slots within each bus process cycle as defined by the node-local cycle timer, for the downstream nodes on the bus branches for which the node is an end-of-line node.
 14. The control information signaling scheme as specified in claim 13, wherein further, in case that the network system is be based on SDH/SONET according to claim 10 and where the data transfer slots thus are time segments of SDH/SONET paths: the bus process cycle is an integer number of SDH/SONET frame periods, the specific number of SDH/SONET frame periods in each bus process cycle known by all the nodes accessing the bus; the cycle timer at each node counts SDH/SONET frame periods and thus: each node transmits the control frame on a specified set of SDH/SONET frame slots within each bus process cycle on the buses for which the node is an end-of-line node, thereby enabling to maintain a synchronized copy of the bus branch master timer at each downstream node accessing the bus, so that the phase of each copy timer is kept within SDH/SONET frame period maximum phase difference from the phase of the bus master timer, thus enabling synchronized switching of SDH/SONET paths, i.e. synchronized accessing of time slots within SDH/SONET hierarchical frames, across multiple nodes, which may have independent SDH/SONET node frame phases and frequency references, along the logical data transport bus.
 15. The network system of claim 9 wherein: each node has means to utilize during a process cycle more bus data transport capacity in total than what is the total transport capacity of any single bus or the egress capacity of any single node during a process cycle, in the network system, up to a case where a single node is able to simultaneously utilize the total data transport capacity of all the buses in the network system, thereby enabling non-blocking line-rate multi -and broadcasting of data from a single node simultaneously to a plurality of nodes in the network system, as well as enabling to fully utilize all the transport capacity by any given source node whenever the capacity is allocated to that particular node, e.g. to unload any buffered data at the source nodes, without having to arbitrate a potentially blocking amount of total bus access capacity at the source node among the various buses on which the node may be allocated data transfer slots simultaneously.
 16. A throughput maximization process for a network system interconnecting a set of packet-switching network elements, the network system comprising a set of interface units each of which interfaces with one of the packet-switching network elements and provides a connection to each other interface unit of the network, each of the connections having a source interface unit, a destination interface unit, a capability to transport a dataflow from its source interface unit to its destination interface unit, and an associated inbound dataflow volume and data transport capacity; the capacity of each connection being controlled by the network throughput maximization process associated with its destination interface unit, each such process, which thus controls the set of connections destined towards the interface unit associated with it, having a repeating process cycle comprising a set of sub-processes that include: forwarding by the interface units sequences of packet data received from the packet-switching network elements interconnected by the network towards the destination interface units associated with each packet through a set of data buffers, wherein each one of the buffers at an interface unit is associated with one of the destination interface units reachable from that interface unit and is used for temporarily storing data of packets being forwarded towards the destination interface unit associated with the buffer, and each buffer has a potentially variable amount of data bytes stored in it, this amount of data in the buffer called herein as the fill of the buffer; at the interface units mapping data from each of the buffers to the connections transporting data to the destination interface unit associated with each buffer; computing a volume of dataflow to each one of the buffers i.e. computing the inbound dataflow volumes associated with each individual connection within the network system per each process cycle; at each of the interface units, based at least in part on the computed inbound volumes of dataflows towards it, computing an optimized set of capacities for the connections associated with these dataflows for the next process cycle; by each interface unit, according to the computed optimal set of capacities for the connections to which it is the destination interface unit, remotely controlling these connections; and at each interface unit, forwarding the data packets transported to it from the other interface units of the network system towards its associated packet-switching network-element over an interface that is herein called as egress interface of the interface unit and whose data transfer capacity is called as egress capacity of the interface unit, thus the interface unit providing an optimized utilization of its egress interface capacity, and thereby the interface unit maximizing the throughput of the network system for its part, and thus the interface units of the network system together continuously with cyclic optimization processes maximizing the throughput of the entire network system interconnecting the packet-switching network-elements.
 17. The network throughput optimization process of claim 16 wherein the sub-processes of forwarding packets to the buffers associated with the destination interface units of the packets and mapping packets to the connections transporting data to the destination interface unit associated with each buffer further comprises: a capability to classify packets based also on their priority in addition to their destination, and thereupon to store the packets of different priority classes in separate priority-class-specific segments of the buffers; and a capability to map the packets from the priority-class-specific segments of the buffers to the connections in a prioritized order.
 18. The network throughput optimization process of claim 16 wherein the sub-process of computing the inbound volume of a dataflow further comprises the sub-steps of: periodically sampling the fill of the buffer associated with the dataflow i.e. periodically recording a buffer fill sample; monitoring the capacity of the connection to which the data from the buffer is mapped to, to determine data outflow volume from the buffer; and adding the data outflow volume from the buffer, i.e. the amount of data bytes mapped from the buffer to its associated connection, between two buffer fill sampling moments to the latter of these two buffer fill samples, and subtracting from that sum the former of the two buffer fills samples, thereby as a result of the calculation getting the volume of data inflow to the buffer during the period between the two buffer fill sampling moments, and thus, by having the two buffer fill sampling moments be one process cycle apart from each other in time, getting computed the volume of the dataflow to the buffer, i.e. the inbound dataflow volume of the connection associated with the buffer, for every process cycle.
 19. The network throughput optimization process of claim 16 wherein the sub-process of computing an optimized set of capacities for the connections that are able to transport data towards the destination interface unit associated with the process is done according to an at least once per process cycle executed computation algorithm that produces such a transport capacity allocation pattern for the next process cycle that optimizes the utilization of the egress capacity of the interface unit, the algorithm defined by a rule set as follows: as long as there is further capacity to allocate on the next process cycle, allocate the egress capacity of the interface unit among the source interface units of the connections with that destination interface unit, until the capacity demands of the source interface units, up to even-share of process cycle worth of egress capacity per a source interface unit, are met, and after that, any unallocated capacity evenly among the source interface units whose capacity demand had not been met yet, and after that, any remaining capacity evenly among all the source interface units, thereby maintaining optimized utilization of the egress capacity of the interface unit and enabling to route all the individual connections to the destination interface unit from each of the source interface units of the network system using transport capacity in the network system only worth of the egress capacity of the destination interface unit while allowing any one of the connections to get transport capacity in the network system even up to the full egress capacity of the destination interface unit, when the capacity demands by the individual source interface units towards the particular destination interface unit call for such capacity allocation.
 20. The connection capacity optimization algorithm of claim 19 wherein the demand for the egress capacity of the destination interface unit by a source interface unit, i.e. the demand for the capacity of the connection from that source interface unit to the destination interface unit, is computed according to a sub-algorithm that comprises a set of steps including: comparing the fill of the buffer associated with the connection to a set of buffer fill threshold values, each of which has an associated minimum capacity demand figure, and thereby determining the minimum capacity demand for the connection, which is the minimum capacity demand figure associated with the highest of the threshold values which the buffer fill exceeded, and is herein called as buffer fill based demand figure; determining smallest such capacity demand figure for the connection that equals or exceeds the inbound volume of the associated dataflow, this capacity demand figure called herein as dataflow volume based demand figure; and comparing the buffer fill based demand figure to the dataflow volume based demand figure, and declaring the greater of these two as the demand for egress capacity at the destination interface unit by the source interface unit. 